//
/***********************************************************
             File name:      main.c
             Author:         Bitat (陆叁柒)
             Email :         Bitat@qq.com
             Gitee :         https://gitee.com/bitat
             CSDN  :         https://blog.csdn.net/bitat 
             History:        2023/3/23
************************************************************/
    
#include <stdlib.h>
#include <stdio.h>

//malloc和calloc的区别
//malloc需要初始化 calloc不需要初始化
//malloc(申请空间的大小) celloc(申请类型的数量，sizeof(类型))
//realoc 扩大原内存空间大小 realloc（原内存指针，更改后的内存）
//free释放内存 要将指针至为空指针，以免变成野指针 (释放的指针指向初始地址) 不能多次释放
int main()
{
    int* p1 = (int*)malloc(0); //空间
    int* p2 = (int*)calloc(10,sizeof(int)); //大小+类型
    int*ptr = (int*)realloc(p1,40);
    if(ptr != NULL)
    {
        p1 = ptr;
    }
    
    free(p1); //释放内存
    p1 = NULL; //将指针便成空指针
    
    return 0;
}
